Model কী এবং এটি কীভাবে ডাটা রিপ্রেজেন্ট করে

Microsoft Technologies - এমভিভিএম (MVVM) Model তৈরি এবং ম্যানেজমেন্ট (Creating and Managing Models) |
155
155

Model একটি গুরুত্বপূর্ণ উপাদান MVVM (Model-View-ViewModel) ডিজাইন প্যাটার্নে, যা অ্যাপ্লিকেশনের ডেটা এবং বিজনেস লজিকের জন্য দায়ী। Model সাধারণত এমন একটি ক্লাস বা অবজেক্ট যা ডেটা সংরক্ষণ, প্রক্রিয়াকরণ এবং ব্যবহারকারীর কার্যক্রম বা অপারেশন সম্পর্কিত লজিক পরিচালনা করে। এটি View বা ViewModel এর সাথে সরাসরি যোগাযোগ না করলেও, ডেটা, লজিক এবং ক্যালকুলেশন প্রদান করে যা পরবর্তীতে ViewModel এর মাধ্যমে View-এ উপস্থাপন করা হয়।

Model এর ভূমিকা

Model অ্যাপ্লিকেশনের ডেটা রিপ্রেজেন্টেশন ও ম্যানিপুলেশন করার মূল উপাদান। এটি সাধারণত:

  • ডেটা রিপ্রেজেন্টেশন: অ্যাপ্লিকেশনের বিভিন্ন তথ্য বা অবজেক্টের ডেটা সংরক্ষণ করা (যেমন ব্যবহারকারীর নাম, বয়স, প্রোডাক্টের দাম ইত্যাদি)।
  • বিজনেস লজিক: ডেটা কিভাবে প্রক্রিয়া হবে এবং অ্যাপ্লিকেশনের বিভিন্ন কার্যক্রম কীভাবে পরিচালিত হবে তা নির্ধারণ করা।
  • ডেটা ম্যানেজমেন্ট: ডেটা যেমন ডাটাবেসে সেভ করা, আপডেট করা, অথবা ডেটার মধ্যে বিভিন্ন ফিল্টারিং এবং ম্যানিপুলেশন করা।

Model কীভাবে ডাটা রিপ্রেজেন্ট করে

Model ডেটা রিপ্রেজেন্টেশনের জন্য এক বা একাধিক প্রপার্টি ধারণ করে যা অ্যাপ্লিকেশনের তথ্য সংগ্রহ করে এবং সংরক্ষণ করে। একটি Model ক্লাস সাধারণত:

  • প্রপার্টি যা ডেটার ধরন এবং মান সংরক্ষণ করে।
  • মেথড বা ফাংশন যা ডেটা প্রক্রিয়াকরণ বা অন্য কোন ব্যবসায়িক কার্যক্রম সম্পাদন করে।

উদাহরণ:

ধরা যাক, একটি Product নামক Model ক্লাস, যা একটি প্রোডাক্টের তথ্য রিপ্রেজেন্ট করবে:

public class Product
{
    public string Name { get; set; }      // প্রোডাক্টের নাম
    public decimal Price { get; set; }     // প্রোডাক্টের দাম
    public int Quantity { get; set; }      // প্রোডাক্টের পরিমাণ
}

এখানে, Name, Price, এবং Quantity হল Model এর প্রপার্টি যা প্রোডাক্টের ডেটা রিপ্রেজেন্ট করে। এই ডেটা ViewModel এর মাধ্যমে View-এ বাইন্ড করা হবে।


Model এবং ডেটার মধ্যে সম্পর্ক

Model ডেটার পরিবর্তন বা স্টোরেজ সম্পর্কিত কাজ করে। এর মাধ্যমে ডেটার প্রক্রিয়াকরণ এবং সঠিকভাবে রিপ্রেজেন্টেশন করা হয়, যা পরে ViewModel বা অন্য যেকোনো উপাদান থেকে ব্যবহার করা যায়। এই প্রক্রিয়া হল:

1. ডেটা সংরক্ষণ:

Model প্রপার্টি ব্যবহার করে ডেটা সংরক্ষণ করা হয়। উদাহরণস্বরূপ, প্রোডাক্টের নাম, দাম এবং পরিমাণ Model-এ রাখা হয় এবং সেই ডেটা ViewModel-এ প্রেরণ করা হয়।

var product = new Product
{
    Name = "Laptop",
    Price = 50000,
    Quantity = 10
};

2. ডেটা প্রসেসিং:

Model মেথড ব্যবহার করে ডেটার উপর বিভিন্ন কার্যক্রম বা হিসাব করা হয়। যেমন, একটি প্রোডাক্টের মোট দাম ক্যালকুলেট করা:

public decimal CalculateTotalPrice()
{
    return Price * Quantity;
}

এখানে, CalculateTotalPrice() মেথড প্রোডাক্টের মোট দাম হিসাব করে এবং সেই ডেটা ব্যবহারকারীকে দেখানোর জন্য ViewModel-এ পাঠানো হতে পারে।

3. ডেটার ভ্যালিডেশন:

Model প্রোপার্টি বা মেথড ব্যবহার করে ডেটা যাচাই করা যেতে পারে। উদাহরণস্বরূপ, Product এর মূল্য নেগেটিভ হতে পারবে না, তাই আমরা এমন একটি প্রোপার্টি তৈরি করতে পারি যা ভ্যালিডেশন করবে:

public decimal Price
{
    get { return _price; }
    set
    {
        if (value < 0)
            throw new ArgumentException("Price cannot be negative");
        _price = value;
    }
}

এখানে, Price প্রপার্টি একটি ভ্যালিডেশন চেক করে, এবং যদি মূল্য নেগেটিভ হয় তবে একটি ত্রুটি ছুড়ে দেয়।


Model এর ডেটা কিভাবে ম্যানেজ করা হয়

Model সাধারণত ডেটাবেস বা অন্যান্য স্টোরেজ সিস্টেমের সাথে সংযোগ করে ডেটা সঞ্চালন করতে ব্যবহৃত হয়। Model ডেটাবেস থেকে ডেটা নিয়ে আসে, সেভ করে এবং প্রয়োজনে আপডেট বা ডিলিট করে। এই কাজগুলো সাধারণত Repository Pattern বা ORM (Object-Relational Mapping) ব্যবহার করে করা হয়।

উদাহরণ: ADO.NET বা Entity Framework ব্যবহার

যদি Model-এ ডেটাবেস থেকে ডেটা আহরণ করতে হয়, তাহলে আমরা ADO.NET বা Entity Framework এর মাধ্যমে ডেটা ম্যানেজমেন্ট করতে পারি।

public class ProductRepository
{
    private readonly DbContext _context;

    public ProductRepository(DbContext context)
    {
        _context = context;
    }

    public List<Product> GetAllProducts()
    {
        return _context.Products.ToList();
    }

    public void AddProduct(Product product)
    {
        _context.Products.Add(product);
        _context.SaveChanges();
    }
}

এখানে, ProductRepository Model-এর ডেটা সঞ্চালন এবং ম্যানেজমেন্টের কাজ করে। এটি ডেটাবেস থেকে প্রোডাক্ট ডেটা নিয়ে আসে এবং নতুন প্রোডাক্ট সেভ করে।


সারাংশ

Model অ্যাপ্লিকেশনের ডেটা এবং বিজনেস লজিক রিপ্রেজেন্ট করে এবং ম্যানেজ করে। এটি ডেটার প্রপার্টি, মেথড, এবং ভ্যালিডেশন প্রক্রিয়া ব্যবহার করে ডেটাকে সঠিকভাবে পরিচালনা করে এবং পরবর্তীতে ViewModel এর মাধ্যমে View-এ প্রদর্শনযোগ্য ডেটা তৈরি করে। Model সাধারণত ডেটাবেস বা অন্যান্য স্টোরেজ সিস্টেমের সাথে সংযুক্ত থাকে এবং ডেটার CRUD (Create, Read, Update, Delete) অপারেশন পরিচালনা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion